package com.email.box.service;

import com.email.box.entity.po.SysUserInfoPO;
import com.email.box.entity.vo.GetSysUserInfoListVO;
import com.email.box.entity.dto.SaveSysUserInfoDTO;
import com.email.box.entity.dto.DeleteCommonDTO;
import com.baomidou.mybatisplus.extension.service.IService;
import com.email.box.common.vo.FilteredParameter;
import com.email.box.common.vo.RespVO;

import java.util.List;

/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author xuan
 * @since 2021-12-15
 */
public interface ISysUserInfoService extends IService<SysUserInfoPO> {

    /**
     * 查用户表列表
     *
     * @param dto 筛选
     * @return 用户列表
     */
    RespVO<List<GetSysUserInfoListVO>> getSysUserInfoList(FilteredParameter dto);


    /**
     * 用户表新增
     *
     * @param dto 更新信息入参
     * @return 操作结果
     */
    RespVO<Object> addSysUserInfo(SaveSysUserInfoDTO dto);

    /**
     * 用户表修改
     *
     * @param dto 更新信息入参
     * @return 操作结果
     */
    RespVO<Object> updateSysUserInfo(SaveSysUserInfoDTO dto);

    /**
     * 新增或修改用户表信息
     *
     * @param dto 更新信息入参
     * @return 修改结果
     */
    RespVO<Object> saveSysUserInfo(SaveSysUserInfoDTO dto);

    /**
     * 用户表删除
     *
     * @param dto 删除ID集合
     * @return 操作结果
     */
    RespVO<Object> removesSysUserInfo(DeleteCommonDTO dto);
}
